//存放树节点对应的OrganiseId值
var typeId = "";
//存放模糊查找的条件
var searchName = "";
//存放树节点
var treeNode = "";
//存放显示的组织机构类型字符串
var oType="";
//存放组织机构类型对象
var sysOrgTypes={};

var scanHeight="";
//开启页面直接加载
$(function () {

    //获取浏览器高度
    scanHeight = $(window).height();
    $("#treeDiv").height(scanHeight);
    $.ajax({
        type: 'post',
        url: '/SysOrganise/getSysOrganiseTreeList',
        async: false,
        dataType: 'json',
        success: function (result) {
            //初始化treeView
            var $jsonTree = $('#tree').treeview({
                highlightSelected: true,//当选择节点时是否高亮显示。
                showBorder: true,//是否在节点上显示边框。
                showImage: true,
                showIcon:true,
                data: result.orgTreeList,
                //节点选中方法
                onNodeSelected: function (event, data) {
                    var selectNodes = data.getChildNodeIdArr(); //获取所有子节点
                    if (selectNodes) { //子节点不为空，则取消选中所有子节点
                        $('#tree').treeview('uncheckNode', [selectNodes, { silent: true }]);
                    }
                }
            });
        }
    });
    initTable();
});

//初始化表格
function initTable(){
    $("#sysorgTable").bootstrapTable("destroy");
    $('#sysorgTable').bootstrapTable({
        height: scanHeight ,
        striped: true,                          //是否显示行间隔色
        cache: false,                           //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        method: 'get',                          //请求方式
        url: '/SysOrganise/getSysOrganiseList', //请求url
        pagination: 'true',                     //显示分页条
        paginationLoop: 'true',                 //启用分页条无限循环功能
        pageNumber: 1,                          //初始化加载第一页，默认第一页
        pageSize: 10,                            //每页的记录行数（*）
        pageList: [5,10, 25, 50, 100],          //可供选择的每页的行数（*）
        toolbar: '#sysorgToolbar',              //工具按钮用哪个容器
        clickToSelect: false,                   //是否启用点击选中行
        sidePagination: 'server',               //'server'或'client'服务器端分页
        showRefresh: 'true',                    //是否显示 刷新按钮
        queryParams: queryParams,               //返回到前台的参数集
        queryParamsType: '',                    //默认值为 'limit' ,在默认情况下 传给服务端的参数为：offset,limit,sort
                                                //设置为 ''  在这种情况下传给服务器的参数为：pageSize,pageNumber
        sortStable: true,                       //设置为 true 将获得稳定的排序，我们会添加_position属性到 row 数据中。
        selectItemName: 'state',
        idField: 'organiseId',
        responseHandler: function (res){        //表格渲染
            return res;
        },
        rowStyle: function () {//自定义行样式
            return "bootTableRow";
        },
        onLoadError: function () {
        },
        onClickRow:function(row, $element){

            $("#sysorgTable").bootstrapTable("uncheckAll");
            $("#sysorgTable").bootstrapTable("checkBy",{field:'organiseId',values:[row.organiseId]})
        },
        columns: [
            {
                title: '序号',
                field: 'number1',
                align: 'center',
                formatter: function (value, row, index) {
                    var page = $('#sysorgTable').bootstrapTable('getOptions');

                    return (page.pageNumber - 1) * page.pageSize + index + 1;
                }
            }
            ,
            {
                field: 'state',
                checkbox: true
            },

            {

                field: 'organiseunitName',
                title: '组织机构名称',
                halign: 'center',
                align: 'left',
                width: '60%'
            },
            {
                field: 'organiseunitType',
                title: '组织机构类型',
                halign: 'center',
                align: 'center',
                width: '30%',
                // formatter: function (value, row, index) {
                //     $.each(sysOrgTypes,function(i,n){
                //         if(value==n.dictId){
                //             oType=n.dictName;
                //
                //         }
                //     });
                //     //ajax实现方法，性能差
                //     // $.ajax({
                //     //     type: 'get',
                //     //     url: '/SysOrganise/getType',
                //     //     async: false,
                //     //     dataType: 'json',
                //     //     //在数据库查询所有组织结构类型返回一个Map类型的参数
                //     //     success: function (result) {
                //     //         //将返回过来的每条参数进行遍历
                //     //         $.each(result.data, function (i) {
                //     //             //将返回过来的参数与此单元格的value属性进行对比
                //     //             if(value==result.data[i].dictId){
                //     //                 //将符合的类型ID显示成数据库表中所对应的Name值
                //     //                oType=result.data[i].dictName;
                //     //             }
                //     //         });
                //     //     }
                //     // });
                //     //返回对应类型名
                //     return oType;

                //}
            }
        ]
    });
}

//前端表格返回到后台的参数方法
function queryParams(pageReqeust) {
    pageReqeust.typeId = typeId;  //
    pageReqeust.searchName = searchName;

    return pageReqeust;
}

//按名称查询
function searchSysorgs() {
    searchName = $("#searchName").val();
    $("#sysorgTable").bootstrapTable("refresh", {});
}
